#pragma once
#include "orangepch.h"
#include "Renderer/Buffer.h"

namespace Orange
{
    class OpenGLVertexBuffer : public VertexBuffer
    {
    public:
        OpenGLVertexBuffer(float* vertexs , uint32_t size);
        ~OpenGLVertexBuffer();
        virtual void Bind() override;
        virtual void UnBind() override;
        virtual void SetLayout(ShaderLayout &layout) override;
        virtual ShaderLayout &GetLayout() override;
    private:
        uint32_t m_RendererId;
        ShaderLayout m_Layout;
    };
    class OpenGLIndexBuffer : public IndexBuffer
    {
    public:
        OpenGLIndexBuffer(uint32_t* indexes , uint32_t count);
        ~OpenGLIndexBuffer();
        virtual void Bind() override;
        virtual void UnBind() override;
        virtual uint32_t GetCount() const override;

    private:
        uint32_t m_RendererId;
        uint32_t m_Count;

    };
}